Skip to main content

OpenShift Objects Reference

Complete list of OpenShift/Kubernetes objects with one-liner explanations.


🏗️ Workloads

ObjectShortDescriptionAnalogy
PodpoSmallest deployable unit; one or more containers sharing network/storageA shipping container on a cargo ship
ReplicaSetrsEnsures a specified number of pod replicas are running at all timesA manager ensuring minimum staff on shift
DeploymentdeployDeclarative updates for Pods and ReplicaSets with rollback supportA restaurant menu that can be updated anytime
DeploymentConfigdcOpenShift-specific deployment with triggers, hooks, and strategiesA smart recipe that cooks itself when ingredients arrive
StatefulSetstsManages stateful apps with stable network IDs and persistent storageAssigned parking spots with your name on them
DaemonSetdsEnsures a pod runs on all (or selected) nodes in the clusterSecurity guard at every building entrance
JobjobCreates pods that run to completion (batch processing)A one-time task like cleaning the garage
CronJobcjSchedules Jobs to run at specified times (like cron)An alarm clock that triggers a task
ReplicationControllerrcLegacy way to ensure pod replicas (use Deployment instead)Old flip phone (still works, but outdated)

🌐 Networking

ObjectShortDescriptionAnalogy
ServicesvcStable network endpoint to access a set of podsA phone number that always reaches someone
EndpointsepList of IP addresses for pods backing a serviceContact list behind a call center number
RouterouteOpenShift-specific; exposes services externally with hostnameA street address for your business
IngressingKubernetes standard for HTTP/HTTPS routing to servicesA reception desk directing visitors
NetworkPolicynetpolRules to control pod-to-pod network trafficFirewall rules like office door access cards
EgressNetworkPolicy-OpenShift-specific; controls outbound traffic from projectRules about what websites employees can visit

💾 Storage

ObjectShortDescriptionAnalogy
PersistentVolumepvCluster-wide storage resource provisioned by adminA storage unit in a warehouse
PersistentVolumeClaimpvcUser's request for storage; binds to a PVA rental agreement for a storage unit
StorageClassscDefines storage "classes" for dynamic provisioningStorage tiers: economy, standard, premium
ConfigMapcmStores non-sensitive configuration as key-value pairsA sticky note with settings
SecretsecretStores sensitive data (passwords, tokens) in base64A locked safe for passwords

🏗️ Builds (OpenShift-specific)

ObjectShortDescriptionAnalogy
BuildConfigbcDefines how to build container images from sourceA recipe card for baking a cake
BuildbuildA single execution of a BuildConfigActually baking the cake once
ImageStreamisTracks images by tag; triggers builds/deployments on changesA photo album that auto-updates
ImageStreamTagistagA specific tagged image within an ImageStreamA labeled photo in the album ("vacation-2024")
ImageStreamImage-A specific image by SHA within an ImageStreamA photo identified by its unique fingerprint

🔐 Security & Access Control

ObjectShortDescriptionAnalogy
ServiceAccountsaIdentity for pods to authenticate with the APIAn employee badge for apps
RoleroleDefines permissions within a namespaceJob description listing allowed tasks
ClusterRoleclusterroleDefines permissions cluster-wideCompany-wide access policy
RoleBindingrolebindingGrants Role to users/groups in a namespaceAssigning a job title to a person
ClusterRoleBindingclusterrolebindingGrants ClusterRole to users/groups cluster-wideGiving someone company-wide admin access
SecurityContextConstraintssccOpenShift-specific; defines pod security policiesBuilding security rules (no weapons, ID required)
PodSecurityPolicypspKubernetes pod security (deprecated in K8s 1.25)Old security rulebook (being replaced)

📁 Namespace & Projects

ObjectShortDescriptionAnalogy
NamespacensKubernetes isolation boundary for resourcesA separate apartment in a building
ProjectprojectOpenShift wrapper around namespace with extra metadataAn apartment with a nameplate and mailbox
ResourceQuotaquotaLimits total resource consumption in a namespaceMonthly budget cap for a department
LimitRangelimitsDefault/max resource limits for pods in namespaceMin/max salary range for job positions

📋 Configuration & Templates

ObjectShortDescriptionAnalogy
TemplatetemplateOpenShift-specific; parameterized resource definitionsA fill-in-the-blanks form
HorizontalPodAutoscalerhpaAuto-scales pods based on CPU/memory or custom metricsHiring more cashiers when lines get long
VerticalPodAutoscalervpaRecommends/sets resource requests and limitsUpgrading an employee's desk/computer
PodDisruptionBudgetpdbLimits voluntary disruptions during maintenanceMinimum staff required during renovations
PriorityClasspcDefines scheduling priority for podsVIP vs regular queue at airport

🔄 Operators & CRDs

ObjectShortDescriptionAnalogy
CustomResourceDefinitioncrdExtends Kubernetes API with custom resourcesAdding new words to a dictionary
Operator-Application that manages other applications via CRDsA robot manager that handles routine tasks
OperatorGroupogDefines operator's target namespacesManager's jurisdiction (which departments)
SubscriptionsubSubscribes to an operator from a catalogSubscribing to a magazine
ClusterServiceVersioncsvDescribes an operator version and its requirementsProduct spec sheet with version number
CatalogSourcecatsrcSource of operator packagesAn app store for operators
InstallPlanipPlan for installing operator resourcesInstallation checklist

🖥️ Cluster & Nodes

ObjectShortDescriptionAnalogy
NodenodeA worker machine in the clusterA single computer/server
MachineSetmachinesetDefines and manages a group of machinesA fleet of delivery trucks
MachinemachineRepresents a single machine/nodeOne truck in the fleet
MachineConfigmcDefines node configuration (OS, kubelet, etc.)Standard specs for all trucks
MachineConfigPoolmcpGroups nodes for configuration managementTruck categories (small, medium, large)

📊 Monitoring & Observability

ObjectShortDescriptionAnalogy
EventevRecords significant occurrences in the clusterA diary entry of what happened
ServiceMonitorsmDefines how Prometheus should scrape metricsInstructions for a health inspector
PodMonitorpmDefines Prometheus scraping for specific podsFitness tracker for specific apps
PrometheusRule-Defines alerting and recording rules"Call me if temperature exceeds 100°F"
AlertManager-Manages alerts from PrometheusA 911 dispatcher routing emergencies

🔧 Other Objects

ObjectShortDescriptionAnalogy
ComponentStatuscsHealth status of cluster componentsDashboard showing system health
LeaseleaseUsed for leader election and node heartbeats"I'm still here" check-in system
EndpointSlice-Scalable way to track network endpointsPhone book split into sections
RuntimeClass-Selects container runtime configurationChoosing which engine to run containers
MutatingWebhookConfiguration-Modifies objects before persistenceAuto-correct before saving
ValidatingWebhookConfiguration-Validates objects before persistenceSpell-check before saving

📊 Quick Reference by Category

Workloads:    Pod, Deployment, DeploymentConfig, StatefulSet, DaemonSet, Job, CronJob
Networking: Service, Route, Ingress, NetworkPolicy
Storage: PV, PVC, StorageClass, ConfigMap, Secret
Builds: BuildConfig, Build, ImageStream
Security: ServiceAccount, Role, RoleBinding, SCC
Scaling: HPA, VPA, PodDisruptionBudget
Operators: CRD, Subscription, CSV, CatalogSource

🛠️ Get All Objects Command

# List all API resources with their short names
oc api-resources

# List resources in a namespace
oc api-resources --namespaced=true

# List cluster-scoped resources
oc api-resources --namespaced=false

Last updated: February 2026